package cn.wolfcode.trip.base.service.impl;

import cn.wolfcode.trip.base.domain.ProductBrand;
import cn.wolfcode.trip.base.mapper.ProductBrandMapper;
import cn.wolfcode.trip.base.query.ProductBrandQuery;
import cn.wolfcode.trip.base.service.IProductBrandService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 商城目录品牌业务接口实现类
 */
@Service
public class ProductBrandServiceImpl implements IProductBrandService {

    @Autowired
    private ProductBrandMapper productBrandMapper;

    /**
     * 分页方法
     * @param qo
     * @return
     */
    public PageInfo query(ProductBrandQuery qo) {
        PageHelper.startPage(qo.getCurrentPage(),qo.getPageSize(),qo.getOrderBy());
        List<ProductBrand> list = productBrandMapper.selectForList(qo);
        return new PageInfo(list);
    }

    /**
     * 新增或修改方法
     * @param
     */
    public void saveOrUpdate(ProductBrand productBrand) {
        if(productBrand.getId()!=null){
            productBrandMapper.updateByPrimaryKey(productBrand);
        }else{
            productBrandMapper.insert(productBrand);
        }
    }

    /**
     * 根据商品目录id查询商品品牌
     * @param catalogId
     * @return
     */
    public List<ProductBrand> selectByCatalogIdId(Long catalogId) {
        return productBrandMapper.selectByCatalogIdId(catalogId);
    }

    /**
     * 查询所有品牌
     * @return
     */
    public List<ProductBrand> listAll() {
        return productBrandMapper.selectAll();
    }

    /**
     * 查询所有热门地区的品牌
     * @param state
     * @return
     */
    public List<ProductBrand> ListAll(Integer state) {
        return productBrandMapper.selectAppAll(state);
    }
}
